package com.sk.bilibili.mapper;

import com.sk.api.annotations.Mapper;
import com.sk.bilibili.bean.Member;
import com.sk.bilibili.bean.VideoSet;
import com.sk.bilibili.dto.Page;
import com.sk.bilibili.dto.Res;
import com.sk.bilibili.other.JsonMap;

import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

@Mapper
public interface VideoSetMapper {

    @GET("videoSet/page")
    Observable<Res<Page<VideoSet>>> page(@Query("page") Integer page, @Query("size") Integer size,
                                         @Query("typeId") Integer typeId);

    @POST("videoSet/getVideoSets")
    Observable<Res<Page<VideoSet>>> getVideoSets(@Body JsonMap map);

    @GET("videoSet/getVideoSet")
    Observable<Res<VideoSet>> getVideoSet(@Query("videoSetId") Integer videoSetId);

    @GET("videoSet/getRank")
    Observable<Res<List<VideoSet>>> getRank(@Query("size") Integer size, @Query("typeId") Integer typeId);

    @POST("videoSet/searchVideoSets")
    Observable<Res<Page<VideoSet>>> searchVideoSets(@Body JsonMap map);

}